package com.zmn.plat.model.entity.channel.order.config;

import com.zmn.common.utils.pager.Operator;
import com.zmn.plat.common.util.FieldNameMapping;
import lombok.*;

import java.util.Date;

/**
 * 渠道订单配置表
 *
 * @author linfeng
 * @since 2020/10/30 11:45
 */
@Data
@Builder
@ToString
@NoArgsConstructor
@AllArgsConstructor
@EqualsAndHashCode(callSuper = true)
public class ChannelOrderConfig extends Operator {
    private static final long serialVersionUID = 1L;
    /**
     * 渠道ID
     */
    private Integer channelId;
    /**
     * F端收款限制：1下单预付全款，2工程师收全款，3预付+尾款，4后付费
     */
    @FieldNameMapping("F端收款限制")
    private Integer inReceivablesLimit;
    /**
     * C端收款限制：1下单预付全款，2工程师收全款，3预付+尾款，4后付费
     */
    @FieldNameMapping("C端收款限制")
    private Integer outReceivablesLimit;
    /**
     * 收尾款方：1啄木鸟，2渠道方
     */
    @FieldNameMapping("收尾款方")
    private String payer;
    /**
     * 改预付款：1不允许，2允许
     */
    @FieldNameMapping("改预付款")
    private Integer prepayType;
    /**
     * 收取定金：1不允许，2允许
     */
    @FieldNameMapping("收取定金")
    private Integer chargeDepositAmount;
    /**
     * 下单校验服务商：1否，2是
     */
    @FieldNameMapping("下单校验服务商")
    private Integer checkSp;
    /**
     * 工单完成：1运营后台,2工程师APP,3服务商门户,多选逗号分隔（1运营后台，2工程师APP，3服务商门户）
     */
    @FieldNameMapping("工单完成")
    private String workOrderCompleteType;
    /**
     * 工单取消：1运营后台,2工程师APP,3服务商门户,多选逗号分隔（1运营后台，2工程师APP，3服务商门户）
     */
    @FieldNameMapping("工单取消")
    private String workOrderCancelType;
    /**
     * 工单特殊优惠：1运营后台,2工程师APP,3服务商门户,多选逗号分隔（1运营后台，2工程师APP，3服务商门户）
     */
    @FieldNameMapping("工单特殊优惠")
    private String workOrderSpecialOfferType;
    /**
     * 是否允许贴花：1不允许，2允许
     */
    @FieldNameMapping("是否允许贴花")
    private Integer applique;
    /**
     * 透传订单价格：1不允许，2允许
     */
    @FieldNameMapping("透传订单价格")
    private Integer showOrderPrice;
    /**
     * 后台录单：1不允许，2允许
     */
    @FieldNameMapping("后台录单")
    private Integer hidden;
    /**
     * 后台录单：1不允许，2允许
     */
    @FieldNameMapping("渠道门户录单")
    private Integer portalAddOrder;
    /**
     * 自动收单：1不允许，2允许
     */
    @FieldNameMapping("自动收单")
    private Integer autoCollectOrder;
    /**
     * 允许发送消息：1不允许，2允许
     */
    @FieldNameMapping("允许发送消息")
    private Integer sendMsg;
    /**
     * 允许修改渠道：1不允许 2允许
     */
    @FieldNameMapping("允许修改渠道")
    private Integer platformType;

    /**
     * 描述: 允许转换渠道：1不允许 2允许
     */
    private Integer transType;

    /**
     * 描述: 转换时间（小时）
     */
    private Integer transTime;

    /**
     * 描述: 转换渠道id
     */
    private Integer transChannel;

    /**
     * 描述: 有无核销码入口：1无 2有
     */
    private Integer codeEntry;

    /**
     * 描述: 校验准确性：1否 2是
     */
    private Integer checkCorrect;

    /**
     * 订单转单到其他平台：1不允许 2允许
     */
    @FieldNameMapping("订单转单到其他平台")
    private Integer orderTransferType;
    /**
     * 服务审核类型
     */
    @FieldNameMapping("服务审核类型")
    private Integer auditType;
    /**
     * 是否通知 1否 2是
     */
    @FieldNameMapping("是否通知")
    private Integer notifyEngineer;
    /**
     * 审核起始金额
     */
    @FieldNameMapping("审核起始金额")
    private Integer auditMinPrice;
    /**
     * 价格审核部门
     */
    @FieldNameMapping("价格审核部门")
    private Integer priceAuditDeptId;
    /**
     * 首次用户保护期：默认90天
     */
    @FieldNameMapping("首次用户保护期")
    private Integer fristProtectedPeriod;
    /**
     * 用户活跃保护期：默认7天
     */
    @FieldNameMapping("用户活跃保护期")
    private Integer latelyProtectedPeriod;
    /**
     * 渠道门户显示订单 1:下单渠道 2:来源渠道
     */
    @FieldNameMapping("渠道门户显示订单")
    private Integer channelPortalDisplayOrder;
    /**
     * 邀评：1否，2是
     */
    @FieldNameMapping("邀评")
    private Integer inviteComment;
    /**
     * 邀评平台
     */
    @FieldNameMapping("邀评平台")
    private String inviteCommentPlat;
    /**
     * 邀评说明
     */
    @FieldNameMapping("邀评说明")
    private String inviteCommentExplain;
    /**
     * 引导去第三方平台支付：1否，2是
     */
    @FieldNameMapping("引导去第三方平台支付")
    private Integer guideThirdPartPay;
    /**
     * 工程师APP显示收款码：1否，2是
     */
    @FieldNameMapping("工程师APP显示收款码")
    private Integer showPayQr;
    /**
     * 支付平台
     */
    @FieldNameMapping("支付平台")
    private String payPlat;
    /**
     * 尾款支付说明
     */
    @FieldNameMapping("尾款支付说明")
    private String payExplain;
    /**
     * 工程师提醒
     */
    @FieldNameMapping("工程师提醒")
    private String desc;
    /**
     * 派单提醒：渠道规模/用途描述
     */
    @FieldNameMapping("派单提醒")
    private String scale;
    /**
     * 创建人
     */
    private String creater;
    /**
     * 修改人
     */
    private String updater;
    /**
     * 创建时间
     */
    private Date createTime;
    /**
     * 修改时间
     */
    private Date updateTime;
    /**
     * 修改备注，记录到修改日志列表中
     */
    private String remark;

}
